Chapter 1: Exercises

選擇題


簡答題

  1. 請列舉 JavaScript 在用戶端網頁程式設計的主要功能。
  2. 下列的 JavaScript 程式碼,可以由 for 迴圈來產生 2 個由小變大的 "Hello World!": <script> for (i=1; i<=2; i++) document.writeln("<font size=" + i + ">Hello World!</font>"); </script>
    1. 請寫出來在「JavaScript 執行後、瀏覽器解譯前」的結果。
    2. 請你在上述程式碼加入兩列敘述,使得你能在網頁上直接看到「JavaScript 執行後、瀏覽器解譯前」的結果?
  3. 在用戶端的 JavaScript,如何在網頁印出印出「Hello World」?
  4. 在用戶端的 JavaScript,如何加入註解?有幾種方法?
  5. 在下列的表單中,當你按下中間的按鈕時,會發生什麼事? <form> <input type=text name=text1 value="ABC"> <input type=button value="=====>" onClick="this.form.text2.value=this.form.text1.value"> <input type=text name=text2 value="DEF"> </form>
  6. 目前市面上常見的瀏覽器有哪幾種?哪一些可以執行用戶端的 JavaScript?哪一些可以執行用戶端的 VBScript?
  7. JavaScript 的語法比較接近何種高階語言?VBScript 呢?
  8. 請使用 Google 查出最近五大瀏覽器的排名。請說明負責調查排名的單位、排名的標準,以及調查的時間等相關資訊。

程式題

請使用本章所學到的 JavaScript 程式技巧來完成下列作業:
  1. (*) 顯示JavaScript所產生的資料: 下列範例可以產生小於100的質數列表:
    The following example generates a list of prime numbers smaller than 100:

    Example(primeNumber.htm):

    上述範例的原始檔如下:
    The source code of the above example is shown next:

    原始檔(primeNumber.htm):(灰色區域按兩下即可拷貝)
    <html>
    <head>
    <meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=big5">
    </head>
    
    <body>
    <h2 align=center>顯示質數的範例</h2>
    <hr>
    
    <script>
    n=100;
    count=1;
    document.writeln("<center>");
    document.writeln("<table border=1>");
    document.writeln("<tr><th>編號<th>質數值");
    for (i=1; i<=n; i++){
    	maxDivisor=Math.sqrt(i);
    	isPrime=1;
    	for (j=2; j<=maxDivisor; j++)
    		if (i%j==0){
    			isPrime=0;
    			break;
    		}
    	if (isPrime)
    		document.writeln("<tr><td>"+(count++)+"<td>"+i);
    }
    document.writeln("</table>");
    document.writeln("</center>");
    </script>
    
    <hr>
    </body>
    </html>

    你可以不需要瞭解此程式碼的原理。請改寫此範例,使其在網頁呈現 JavaScript 所產生的原始資料(未經由瀏覽器解譯之資料)。為什麼我們無法使用 <pre> 和 </pre> 來達到所要之功能?
    You don't need to know the method to generate these prime numbers. Please modify this example such that we can list the original output generated by the JavaScript code (before being interpreted by the browser). How come we cannot use <pre> and </pre> to achieve the same purpose?

  2. (*) 計算除以七的餘數: 請寫一個網頁,包含一個連結「計算除以七的餘數」,具有下列功能:
    • 當你按下此連結時,會跳出一個提示視窗,要求你輸入一個正整數。
    • 按下確定後,會再跳出一個警告視窗,告訴你輸入的數字除以七之後,所得餘數的值。 (提示:JavaScript 求餘數的運算子是「%」,例如「8 % 7」得到的值是 1。)
  3. (*) 兩數相加: 請寫一個網頁,包含一個連結「兩數相加」,具有下列功能:
    • 當你按下此連結時,會連續跳出兩個輸入視窗,分別要求你輸入兩個數目(可以含有小數點)。
    • 此程式會將兩個數字相加,顯示在一個警告視窗。
  4. (*) 圓的周長和面積: 請寫一個網頁,包含一個連結「圓的周長和面積」,具有下列功能:
    • 當你按下此連結時,會跳出一個提示視窗,要求你輸入一個正數,做為一個圓的半徑。
    • 此程式會算出此圓的周長和面積,顯示在一個警告視窗。
    (提示:你可以使用 Math.PI 來代表圓週率,會比 3.1415926 來的精準。)

JavaScript 程式設計與應用:用於網頁用戶端